package com.xiu.weixin.service.wx.message.text;

import java.util.HashMap;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import com.xiu.weixin.pojo.message.Message;
import com.xiu.weixin.pojo.message.TextMessage;
import com.xiu.weixin.util.Consts;
import com.xiu.weixin.util.net.NetUtil;

import net.sf.json.JSONObject;

@Service
public class TextMessageService {
	private static final Logger logger = LoggerFactory.getLogger(TextMessageService.class);

	public static Message doService(Map<String, String> reqMap) {
		String content = reqMap.get("Content");
		Message msg = null;
		// if ("登录".equals(content)) {
		// msg = new TextMessage(reqMap,"点击<a
		// href='https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd3051a5d4581e8d3&redirect_uri=http://wx.wangxinxin.online/weixin/getUserInfo&response_type=code&scope=snsapi_userinfo#wechat_redirect'>这里</a>登录");
		// } else {
		// msg = new TextMessage(reqMap, "你想干啥?" + reqMap.get("Content") +
		// "，发个图片我可以帮你转文字欧");
		// }
		Map params = new HashMap();// 请求参数
		params.put("key", Consts.APPKEY);// 您申请到的本接口专用的APPKEY
		params.put("info", content);// 要发送给机器人的内容，不要超过30个字符
		params.put("dtype", "");// 返回的数据的格式，json或xml，默认为json
		params.put("loc", "");// 地点，如北京中关村
		params.put("lon", "");// 经度，东经116.234632（小数点后保留6位），需要写为116234632
		params.put("lat", "");// 纬度，北纬40.234632（小数点后保留6位），需要写为40234632
		params.put("userid", "");// 1~32位，此userid针对您自己的每一个用户，用于上下文的关联
		try {
			String result = NetUtil.net(Consts.CHAT_URL, params, "GET");
			JSONObject object = JSONObject.fromObject(result);
			if (object.getInt("error_code") == 0) {
				String resp = object.getJSONObject("result").getString("text");
				msg = new TextMessage(reqMap, resp);
			} else {
				msg = new TextMessage(reqMap, "聊天机器人似乎罢工了，发张图片会有惊喜哟");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		logger.info("文本消息回复：" + msg);
		return msg;
	}

}
